package com.ruoyi.framework.config.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 用户中心配置属性
 * <p>用于承载服务端下发的应用编码、客户端凭证等信息，方便统一注入。</p>
 */
@Component
@ConfigurationProperties(prefix = "user-center")
public class UserCenterProperties
{
    /**
     * 应用编码（CLIENT_CODE）
     */
    private String clientCode;

    /**
     * 客户端 ID（CLIENT_ID）
     */
    private String clientId;

    /**
     * 客户端秘钥（CLIENT_SECRET）
     */
    private String clientSecret;

    /**
     * 用户中心服务地址，例如 http://host:port/eiam-api
     */
    private String serverUrl;

    /**
     * 默认回调地址，前端未传入 redirect_uri 时使用
     */
    private String redirectUri;

    /**
     * state 随机串缓存时间，单位秒
     */
    private long stateTtl = 300L;

    public String getClientCode()
    {
        return clientCode;
    }

    public void setClientCode(String clientCode)
    {
        this.clientCode = clientCode;
    }

    public String getClientId()
    {
        return clientId;
    }

    public void setClientId(String clientId)
    {
        this.clientId = clientId;
    }

    public String getClientSecret()
    {
        return clientSecret;
    }

    public void setClientSecret(String clientSecret)
    {
        this.clientSecret = clientSecret;
    }

    public String getServerUrl()
    {
        return serverUrl;
    }

    public void setServerUrl(String serverUrl)
    {
        this.serverUrl = serverUrl;
    }

    public String getRedirectUri()
    {
        return redirectUri;
    }

    public void setRedirectUri(String redirectUri)
    {
        this.redirectUri = redirectUri;
    }

    public long getStateTtl()
    {
        return stateTtl;
    }

    public void setStateTtl(long stateTtl)
    {
        this.stateTtl = stateTtl;
    }
}
